<?php
namespace app\services;

class RedisService
{
    private $redis;

    public function __construct()
    {
        $this->redis = new \think\cache\driver\Redis(config('cache.stores.redis'));
    }

    /**
     * 设置值
     * @param $key=KEY名称
     * @param $value=获取得到的数据
     * @param int $expire_in=时间
     * @return mixed
     */
    public function set($key, $value, $expire_in)
    {
        $this->redis->set($key, $value);
        return $this->redis->expire($key, $expire_in);
    }

     /**
     * 通过KEY获取数据
     * @param $key
     * @return mixed
     */
    public function get($key)
    {
        $result = $this->redis->get($key);
        return json_decode($result, true);
    }

     /**自增
     * @param $key =KEY名称
     * @return int
     */
    public function increment(string $key) {
        return $this->redis->incr($key);
    }

    /**
     * key是否存在，存在返回true否则返回false
     * @param string $key=KEY名称
     * @return bool
     */
    public function exists(string $key) {
        return $this->redis->exists($key);
    }

     /**
     * 清空数据
     */
    public function flushAll() {
        return $this->redis->flushAll();
    }
}